import os
print("系统中逻辑CPU的数量",os.cpu_count())
print("当前目录:",os.curdir) # os 模块中的一个字符串常量
print("系统默认的路径分隔符:",os.defpath)
# 查看 PATH 环境变量的值
print("PATH environment variable:", os.environ.get('PATH', ''))
print("当前目录下的所有文件:",os.listdir("."))
# 获取当前文件的绝对路径
script_path = os.path.abspath(__file__)
print("当前文件目录：",script_path)
print("当前工作目录,即Python 程序启动时所在的目录：",os.getcwd())

print("随机字节字符串:",os.urandom(10)) # 生成包含 n 个随机字节的字符串（在 Python 3 中是一个 bytes 对象）

# 生成一个新的文件夹
import time
folder = time.strftime(r"%Y-%m-%d_%H-%M-%S",time.localtime()) # 在 Python 字符串前面加上 r 表示这是一个原始字符串（raw string）。这意味着字符串中的反斜杠 \ 不会被视为转义字符。这对于包含 Windows 文件路径的字符串特别有用，因为 Windows 使用反斜杠作为路径分隔符
curpath = os.path.join(os.getcwd(),r"临时文件/")
os.makedirs(r"%s/%s"%(curpath,folder))

# 更改当前目录
os.chdir(r"%s/%s"%(curpath,folder))
print(os.getcwd())

# 路径分解
print(os.path.split(r"c:/abc/index.py")) # 得到一个元组，存在两个元素，第一个元素是路径，第二个元素是文件名
a,b=os.path.split(r"c:/abc/index.py")

# 分解文件名和扩展名
fpathandName,fext=os.path.splitext(r"c:/abc/index.py")
print(fpathandName,fext) # 扩展名包含.

# 获取文件大小
print("文件大小，字节为单位：",os.path.getsize(r"d:/项目/python/helloworld.py"))

# 判断目录或文件是否存在
print("是否是文件：",os.path.isfile(r"d:/项目/python/helloworld.py"))
print("是否是目录：",os.path.isdir(r"d:/项目/python/helloworld.py"))

# 获取某目录中的文件及子目录的列表
L = os.listdir("d:/项目/python")
print(L)

# 删除文件或目录
# os.rmdir(r"d:/项目/python/临时文件/2024-12-29_16-41-18/") # 路径末尾有无/都可以,目录不存在会报错
# os.remove(r"d:/项目/python/临时文件/被操作的文件_20241214_110641.txt")

# 文件改名
# os.rename(r"d:/项目/python/helloworld.py",r"d:/项目/python/你好世界.py") # 文件不存在会报错

print("当前操作系统",os.name) # nt：代表 Windows 操作系统
print("路径分隔符",os.sep) # \：代表 Windows 操作系统的路径分隔符
print("行终止符",os.linesep)
print("环境变量",os.getenv("PATH"))
os.environ["LIQIAN"] = "李千" # 使用 os.environ 在 Python 中设置环境变量不会永久性地修改操作系统的环境变量。它仅会影响当前的 Python 进程及其创建的任何子进程。一旦 Python 程序结束运行，这些更改将不会保存，并且操作系统级别的环境变量配置保持不变
print("环境变量",os.getenv("LIQIAN"))
os.chdir("D:\\项目\\python\\简单案例") # 执行这行代码后，所有后续的相对路径操作都将相对于这个新的工作目录进行
print(os.path.getsize("./购物车.py")) # 改变目录后的结果